#pragma once
#include "ois.h"
#include <vector>
#include <Windows.h>
class Game;
class InputManager
{
public:
	InputManager(void);
	~InputManager(void);

	void Initialize(HWND wndHandle);
	void Update();

	bool IsButtonDown(int playerIndex, int button);
	int GetSliderValue(int playerIndex, int sliderID);
	int GetAxisValue(int playerIndex, int axisID);
	
	int GetNumberOfJoysticks() {return m_joysticks.size();}

	bool IsKeyDown(OIS::KeyCode key);

private:
	std::vector<OIS::JoyStick*> m_joysticks;
	std::vector<OIS::JoyStick*>::iterator m_itJoystick;
	std::vector<OIS::JoyStick*>::iterator m_itJoystickEnd;


	OIS::Keyboard*	m_keyboard;
	OIS::Mouse*		m_mouse;

	OIS::InputManager*	m_inputSystem;

	Game*				m_game;
};

